"""
递归函数, 简单来说就是在函数运行的过程中调用本身
使用递归函数, 需要明确两点:
要有结束条件
合理的递归条件
"""

# def test():
#     print(1)
#     test()
# test()

# li = [
#     1, [
#         2, [
#             3, [
#                 4, [5]
#             ]
#         ]
#     ]
# ]
#
# def getValue(lst):
#     for i in lst:
#         if type(i) == list:
#             getValue(i)
#         else:
#             print(i)

"""
1
getValue(i) i -> 第二个列表
2
getValue(i) i -> 第二个列表
3
getValue(i) i -> 第二个列表
4
getValue(i) i -> 第二个列表
5
getValue(i) i -> 第二个列表
"""

# getValue(li)

# 基于递归函数实现，计算阶乘 1*2*3*....*n
# def count_2(n):
#     if n == 1:
#         return 1
#     return n * count_2(n-1)
#
# value = count_2(5)
# print(value)

"""
5 * count_2(4)
5 * 4 * count_2(3)
5 * 4 * 3 * count_2(2)
5 * 4 * 3 * 2 * 1
"""
"""
def test(n):
    print(n)
    if n == 1:
        return n
    else:
        test(n - 1)
    print(n)
"""

# def test(n):
#     print(3)
#     print(2)
#     print(1)
#     print(2)
#     print(3)
#
# test(3)

# import os
#
# def findPath(path, fineFileName):
#     pathList = os.listdir(path)
#     for filename in pathList:
#         newPath = f"{path}/{filename}"
#         if os.path.isdir(newPath):  # 判断是否为文件夹
#             findPath(newPath, fineFileName)
#         else:
#             if fineFileName == filename:
#                 print(f"我找到你啦，你在{newPath}")
#                 break
#
#
# findPath('../1', 'test4.py')